home *** CD-ROM | disk | FTP | other *** search
/ Champak 146 / (Vol 146) Jan 07 2012.iso / Games / training_micromonk.swf / scripts / __Packages / MochiAd.as
Text File  |  2012-01-07  |  17KB  |  604 lines

  1. class MochiAd
  2. {
  3.    function MochiAd()
  4.    {
  5.    }
  6.    static function getVersion()
  7.    {
  8.       return "2.1";
  9.    }
  10.    static function showPreGameAd(options)
  11.    {
  12.       var _loc27_ = {clip:_root,ad_timeout:3000,fadeout_time:250,regpt:"o",method:"showPreloaderAd",color:16747008,background:16777161,outline:13994812,ad_started:function()
  13.       {
  14.          this.clip.stop();
  15.       },ad_finished:function()
  16.       {
  17.          this.clip.play();
  18.       }};
  19.       options = MochiAd._parseOptions(options,_loc27_);
  20.       var clip = options.clip;
  21.       var _loc23_ = 11000;
  22.       var _loc26_ = options.ad_timeout;
  23.       delete options.ad_timeout;
  24.       var fadeout_time = options.fadeout_time;
  25.       delete options.fadeout_time;
  26.       "load";
  27.       MochiAd;
  28.       1;
  29.       options;
  30.       if(!undefined)
  31.       {
  32.          options.ad_finished();
  33.          return undefined;
  34.       }
  35.       options.ad_started();
  36.       var mc = clip._mochiad;
  37.       mc.onUnload = function()
  38.       {
  39.          options.ad_finished();
  40.       };
  41.       var _loc14_ = MochiAd._getRes(options);
  42.       var _loc4_ = _loc14_[0];
  43.       var _loc13_ = _loc14_[1];
  44.       mc._x = _loc4_ * 0.5;
  45.       mc._y = _loc13_ * 0.5;
  46.       var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
  47.       chk._x = _loc4_ * -0.5;
  48.       chk._y = _loc13_ * -0.5;
  49.       var _loc7_ = chk.createEmptyMovieClip("_mochiad_bar",4);
  50.       _loc7_._x = 10;
  51.       _loc7_._y = _loc13_ - 20;
  52.       var _loc22_ = options.color;
  53.       delete options.color;
  54.       var _loc19_ = options.background;
  55.       delete options.background;
  56.       var _loc24_ = options.outline;
  57.       delete options.outline;
  58.       var _loc5_ = _loc7_.createEmptyMovieClip("_outline",1);
  59.       _loc5_.beginFill(_loc19_);
  60.       _loc5_.moveTo(0,0);
  61.       _loc5_.lineTo(_loc4_ - 20,0);
  62.       _loc5_.lineTo(_loc4_ - 20,10);
  63.       _loc5_.lineTo(0,10);
  64.       _loc5_.lineTo(0,0);
  65.       _loc5_.endFill();
  66.       var _loc3_ = _loc7_.createEmptyMovieClip("_inside",2);
  67.       _loc3_.beginFill(_loc22_);
  68.       _loc3_.moveTo(0,0);
  69.       _loc3_.lineTo(_loc4_ - 20,0);
  70.       _loc3_.lineTo(_loc4_ - 20,10);
  71.       _loc3_.lineTo(0,10);
  72.       _loc3_.lineTo(0,0);
  73.       _loc3_.endFill();
  74.       _loc3_._xscale = 0;
  75.       var _loc6_ = _loc7_.createEmptyMovieClip("_outline",3);
  76.       _loc6_.lineStyle(0,_loc24_,100);
  77.       _loc6_.moveTo(0,0);
  78.       _loc6_.lineTo(_loc4_ - 20,0);
  79.       _loc6_.lineTo(_loc4_ - 20,10);
  80.       _loc6_.lineTo(0,10);
  81.       _loc6_.lineTo(0,0);
  82.       chk.ad_msec = _loc23_;
  83.       chk.ad_timeout = _loc26_;
  84.       chk.started = getTimer();
  85.       chk.showing = false;
  86.       chk.last_pcnt = 0;
  87.       chk.fadeout_time = fadeout_time;
  88.       chk.fadeFunction = function()
  89.       {
  90.          var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  91.          if(_loc2_ > 0)
  92.          {
  93.             this._parent._alpha = _loc2_;
  94.          }
  95.          else
  96.          {
  97.             var _loc3_ = this._parent._parent;
  98.             MochiAd.unload(_loc3_);
  99.             delete this.onEnterFrame;
  100.          }
  101.       };
  102.       mc.lc.adLoaded = function(width, height)
  103.       {
  104.       };
  105.       mc.lc.adjustProgress = function(msec)
  106.       {
  107.          var _loc2_ = this.mc._mochiad_wait;
  108.          _loc2_.server_control = true;
  109.          _loc2_.started = getTimer();
  110.          _loc2_.ad_msec = msec;
  111.       };
  112.       chk.onEnterFrame = function()
  113.       {
  114.          var _loc6_ = this._parent._parent;
  115.          var _loc12_ = this._parent._mochiad_ctr;
  116.          var _loc5_ = getTimer() - this.started;
  117.          var _loc3_ = false;
  118.          var _loc4_ = _loc6_.getBytesTotal();
  119.          var _loc8_ = _loc6_.getBytesLoaded();
  120.          var _loc10_ = 100 * _loc8_ / _loc4_;
  121.          var _loc11_ = 100 * _loc5_ / chk.ad_msec;
  122.          var _loc9_ = this._mochiad_bar._inside;
  123.          var _loc2_ = Math.min(100,Math.min(_loc10_ || 0,_loc11_));
  124.          _loc2_ = Math.max(this.last_pcnt,_loc2_);
  125.          this.last_pcnt = _loc2_;
  126.          _loc9_._xscale = _loc2_;
  127.          if(!chk.showing)
  128.          {
  129.             var _loc7_ = _loc12_.getBytesTotal();
  130.             if(_loc7_ > 0 || typeof _loc7_ == "undefined")
  131.             {
  132.                chk.showing = true;
  133.                chk.started = getTimer();
  134.             }
  135.             else if(_loc5_ > chk.ad_timeout)
  136.             {
  137.                _loc3_ = true;
  138.             }
  139.          }
  140.          if(_loc5_ > chk.ad_msec)
  141.          {
  142.             _loc3_ = true;
  143.          }
  144.          if(_loc4_ > 0 && _loc8_ >= _loc4_ && _loc3_)
  145.          {
  146.             if(this.server_control)
  147.             {
  148.                delete this.onEnterFrame;
  149.             }
  150.             else
  151.             {
  152.                this.fadeout_start = getTimer();
  153.                this.onEnterFrame = chk.fadeFunction;
  154.             }
  155.          }
  156.       };
  157.    }
  158.    static function showInterLevelAd(options)
  159.    {
  160.       var _loc13_ = {clip:_root,ad_timeout:2000,fadeout_time:250,regpt:"o",method:"showTimedAd",ad_started:function()
  161.       {
  162.          this.clip.stop();
  163.       },ad_finished:function()
  164.       {
  165.          this.clip.play();
  166.       }};
  167.       options = MochiAd._parseOptions(options,_loc13_);
  168.       var clip = options.clip;
  169.       var _loc10_ = 11000;
  170.       var _loc12_ = options.ad_timeout;
  171.       delete options.ad_timeout;
  172.       var fadeout_time = options.fadeout_time;
  173.       delete options.fadeout_time;
  174.       "load";
  175.       MochiAd;
  176.       1;
  177.       options;
  178.       if(!undefined)
  179.       {
  180.          options.ad_finished();
  181.          return undefined;
  182.       }
  183.       options.ad_started();
  184.       var mc = clip._mochiad;
  185.       mc.onUnload = function()
  186.       {
  187.          options.ad_finished();
  188.       };
  189.       var _loc5_ = MochiAd._getRes(options);
  190.       var _loc14_ = _loc5_[0];
  191.       var _loc11_ = _loc5_[1];
  192.       mc._x = _loc14_ * 0.5;
  193.       mc._y = _loc11_ * 0.5;
  194.       var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
  195.       chk.ad_msec = _loc10_;
  196.       chk.ad_timeout = _loc12_;
  197.       chk.started = getTimer();
  198.       chk.showing = false;
  199.       chk.fadeout_time = fadeout_time;
  200.       chk.fadeFunction = function()
  201.       {
  202.          var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  203.          if(_loc2_ > 0)
  204.          {
  205.             this._parent._alpha = _loc2_;
  206.          }
  207.          else
  208.          {
  209.             var _loc3_ = this._parent._parent;
  210.             MochiAd.unload(_loc3_);
  211.             delete this.onEnterFrame;
  212.          }
  213.       };
  214.       mc.lc.adLoaded = function(width, height)
  215.       {
  216.       };
  217.       mc.lc.adjustProgress = function(msec)
  218.       {
  219.          var _loc2_ = this.mc._mochiad_wait;
  220.          _loc2_.server_control = true;
  221.          _loc2_.started = getTimer();
  222.          _loc2_.ad_msec = msec - 250;
  223.       };
  224.       chk.onEnterFrame = function()
  225.       {
  226.          var _loc5_ = this._parent._mochiad_ctr;
  227.          var _loc4_ = getTimer() - this.started;
  228.          var _loc2_ = false;
  229.          if(!chk.showing)
  230.          {
  231.             var _loc3_ = _loc5_.getBytesTotal();
  232.             if(_loc3_ > 0 || typeof _loc3_ == "undefined")
  233.             {
  234.                chk.showing = true;
  235.                chk.started = getTimer();
  236.             }
  237.             else if(_loc4_ > chk.ad_timeout)
  238.             {
  239.                _loc2_ = true;
  240.             }
  241.          }
  242.          if(_loc4_ > chk.ad_msec)
  243.          {
  244.             _loc2_ = true;
  245.          }
  246.          if(_loc2_)
  247.          {
  248.             if(this.server_control)
  249.             {
  250.                delete this.onEnterFrame;
  251.             }
  252.             else
  253.             {
  254.                this.fadeout_start = getTimer();
  255.                this.onEnterFrame = this.fadeFunction;
  256.             }
  257.          }
  258.       };
  259.    }
  260.    static function showTimedAd(options)
  261.    {
  262.       MochiAd.showInterLevelAd(options);
  263.    }
  264.    static function showPreloaderAd(options)
  265.    {
  266.       MochiAd.showPreGameAd(options);
  267.    }
  268.    static function _allowDomains(server)
  269.    {
  270.       var _loc1_ = server.split("/")[2].split(":")[0];
  271.       if(System.security)
  272.       {
  273.          if(System.security.allowDomain)
  274.          {
  275.             "allowDomain";
  276.             System.security;
  277.             1;
  278.             "*";
  279.             undefined;
  280.             "allowDomain";
  281.             System.security;
  282.             1;
  283.             _loc1_;
  284.             undefined;
  285.          }
  286.          if(System.security.allowInsecureDomain)
  287.          {
  288.             System.security.allowInsecureDomain("*");
  289.             System.security.allowInsecureDomain(_loc1_);
  290.          }
  291.       }
  292.       return _loc1_;
  293.    }
  294.    static function _loadCommunicator(options)
  295.    {
  296.       var _loc26_ = {clip:_root,com_server:"http://x.mochiads.com/com/1/",method:"loadCommunicator",depth:10337,id:"_UNKNOWN_"};
  297.       options = MochiAd._parseOptions(options,_loc26_);
  298.       options.swfv = options.clip.getSWFVersion() || 6;
  299.       options.mav = MochiAd.getVersion();
  300.       var _loc18_ = options.clip;
  301.       var _loc20_ = "_mochiad_com_" + options.id;
  302.       if(!MochiAd._isNetworkAvailable())
  303.       {
  304.          return null;
  305.       }
  306.       if(_loc18_[_loc20_])
  307.       {
  308.          return _loc18_[_loc20_].lc;
  309.       }
  310.       var _loc21_ = options.com_server + options.id;
  311.       MochiAd._allowDomains(_loc21_);
  312.       delete options.id;
  313.       delete options.com_server;
  314.       var _loc25_ = options.depth;
  315.       delete options.depth;
  316.       var _loc17_ = _loc18_.createEmptyMovieClip(_loc20_,_loc25_);
  317.       var _loc11_ = _loc17_.createEmptyMovieClip("_mochiad_com",1);
  318.       for(var _loc15_ in options)
  319.       {
  320.          _loc11_[_loc15_] = options[_loc15_];
  321.       }
  322.       var _loc6_ = new LocalConnection();
  323.       var _loc16_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
  324.       _loc6_.mc = _loc17_;
  325.       _loc6_.name = _loc16_;
  326.       _loc6_.allowDomain = function(d)
  327.       {
  328.          return true;
  329.       };
  330.       _loc6_.allowInsecureDomain = _loc6_.allowDomain;
  331.       "connect";
  332.       _loc6_;
  333.       1;
  334.       _loc16_;
  335.       undefined;
  336.       _loc17_.lc = _loc6_;
  337.       _loc11_.lc = _loc16_;
  338.       _loc6_._id = 0;
  339.       _loc6_._queue = [];
  340.       _loc6_.rpcResult = function(cb_arg)
  341.       {
  342.          var _loc8_ = parseInt(cb_arg);
  343.          var _loc4_ = this._callbacks[_loc8_];
  344.          if(!_loc4_)
  345.          {
  346.             return undefined;
  347.          }
  348.          delete this._callbacks[_loc8_];
  349.          var _loc5_ = [];
  350.          var _loc3_ = 2;
  351.          while(_loc3_ < _loc4_.length)
  352.          {
  353.             _loc5_.push(_loc4_[_loc3_]);
  354.             _loc3_ = _loc3_ + 1;
  355.          }
  356.          _loc3_ = 1;
  357.          while(_loc3_ < arguments.length)
  358.          {
  359.             _loc5_.push(arguments[_loc3_]);
  360.             _loc3_ = _loc3_ + 1;
  361.          }
  362.          var _loc6_ = _loc4_[1];
  363.          var _loc7_ = _loc4_[0];
  364.          if(_loc7_ && typeof _loc6_ == "string")
  365.          {
  366.             _loc6_ = _loc7_[_loc6_];
  367.          }
  368.          if(_loc6_)
  369.          {
  370.             _loc6_.apply(_loc7_,_loc5_);
  371.          }
  372.       };
  373.       _loc6_._didConnect = function(endpoint)
  374.       {
  375.          this._endpoint = endpoint;
  376.          var _loc4_ = this._queue;
  377.          delete this._queue;
  378.          var _loc5_ = this.doSend;
  379.          var _loc2_ = 0;
  380.          while(_loc2_ < _loc4_.length)
  381.          {
  382.             var _loc3_ = _loc4_[_loc2_];
  383.             _loc5_.apply(this,_loc3_);
  384.             _loc2_ = _loc2_ + 1;
  385.          }
  386.       };
  387.       _loc6_.doSend = function(args, cbobj, cbfn)
  388.       {
  389.          if(this._endpoint == null)
  390.          {
  391.             var _loc4_ = [];
  392.             var _loc3_ = 0;
  393.             while(_loc3_ < arguments.length)
  394.             {
  395.                _loc4_.push(arguments[_loc3_]);
  396.                _loc3_ = _loc3_ + 1;
  397.             }
  398.             this._queue.push(_loc4_);
  399.             return undefined;
  400.          }
  401.          this._id += 1;
  402.          var _loc5_ = this._id;
  403.          if(cbfn === undefined || cbfn === null)
  404.          {
  405.             cbfn = cbobj;
  406.          }
  407.          this._callbacks[_loc5_] = [cbobj,cbfn];
  408.          var _loc7_ = new LocalConnection();
  409.          "send";
  410.          _loc7_;
  411.          4;
  412.          this._endpoint;
  413.          "rpc";
  414.          _loc5_;
  415.          args;
  416.          var _loc9_ = undefined;
  417.       };
  418.       _loc6_._callbacks = {};
  419.       _loc6_._callbacks[0] = [_loc6_,"_didConnect"];
  420.       _loc11_.st = getTimer();
  421.       "loadMovie";
  422.       _loc11_;
  423.       2;
  424.       _loc21_ + ".swf";
  425.       "POST";
  426.       undefined;
  427.       return _loc6_;
  428.    }
  429.    static function fetchHighScores(options, callbackObj, callbackMethod)
  430.    {
  431.       var _loc1_ = MochiAd._loadCommunicator({id:options.id});
  432.       if(!_loc1_)
  433.       {
  434.          return false;
  435.       }
  436.       var _loc4_ = ["fetchHighScores",options];
  437.       _loc1_.doSend(["fetchHighScores",options],callbackObj,callbackMethod);
  438.       return true;
  439.    }
  440.    static function sendHighScore(options, callbackObj, callbackMethod)
  441.    {
  442.       var _loc1_ = MochiAd._loadCommunicator({id:options.id});
  443.       if(!_loc1_)
  444.       {
  445.          return false;
  446.       }
  447.       var _loc4_ = ["sendHighScore",options];
  448.       _loc1_.doSend(["sendHighScore",options],callbackObj,callbackMethod);
  449.       return true;
  450.    }
  451.    static function load(options)
  452.    {
  453.       var _loc13_ = {clip:_root,server:"http://x.mochiads.com/srv/1/",method:"load",depth:10333,id:"_UNKNOWN_"};
  454.       options = MochiAd._parseOptions(options,_loc13_);
  455.       options.swfv = options.clip.getSWFVersion() || 6;
  456.       options.mav = MochiAd.getVersion();
  457.       var _loc9_ = options.clip;
  458.       if(!MochiAd._isNetworkAvailable())
  459.       {
  460.          return null;
  461.       }
  462.       if(_loc9_._mochiad_loaded)
  463.       {
  464.          return null;
  465.       }
  466.       var _loc12_ = options.depth;
  467.       delete options.depth;
  468.       var _loc6_ = _loc9_.createEmptyMovieClip("_mochiad",_loc12_);
  469.       var _loc11_ = MochiAd._getRes(options);
  470.       options.res = _loc11_[0] + "x" + _loc11_[1];
  471.       options.server += options.id;
  472.       delete options.id;
  473.       _loc9_._mochiad_loaded = true;
  474.       var _loc4_ = _loc6_.createEmptyMovieClip("_mochiad_ctr",1);
  475.       for(var _loc7_ in options)
  476.       {
  477.          _loc4_[_loc7_] = options[_loc7_];
  478.       }
  479.       var _loc10_ = _loc4_.server;
  480.       delete _loc4_.server;
  481.       var _loc14_ = MochiAd._allowDomains(_loc10_);
  482.       _loc6_.onEnterFrame = function()
  483.       {
  484.          if(this._mochiad_ctr._url != this._url)
  485.          {
  486.             this.onEnterFrame = function()
  487.             {
  488.                if(!this._mochiad_ctr)
  489.                {
  490.                   delete this.onEnterFrame;
  491.                   MochiAd.unload(this._parent);
  492.                }
  493.             };
  494.          }
  495.       };
  496.       var _loc5_ = new LocalConnection();
  497.       var _loc8_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
  498.       _loc5_.mc = _loc6_;
  499.       _loc5_.name = _loc8_;
  500.       _loc5_.hostname = _loc14_;
  501.       _loc5_.allowDomain = function(d)
  502.       {
  503.          return true;
  504.       };
  505.       _loc5_.allowInsecureDomain = _loc5_.allowDomain;
  506.       "connect";
  507.       _loc5_;
  508.       1;
  509.       _loc8_;
  510.       undefined;
  511.       _loc6_.lc = _loc5_;
  512.       _loc4_.lc = _loc8_;
  513.       _loc4_.st = getTimer();
  514.       "loadMovie";
  515.       _loc4_;
  516.       2;
  517.       _loc10_ + ".swf";
  518.       "POST";
  519.       undefined;
  520.       return _loc6_;
  521.    }
  522.    static function unload(clip)
  523.    {
  524.       if(typeof clip == "undefined")
  525.       {
  526.          clip = _root;
  527.       }
  528.       if(clip.clip && clip.clip._mochiad)
  529.       {
  530.          clip = clip.clip;
  531.       }
  532.       if(!clip._mochiad)
  533.       {
  534.          return false;
  535.       }
  536.       clip._mochiad.removeMovieClip();
  537.       delete clip._mochiad_loaded;
  538.       delete clip._mochiad;
  539.       return true;
  540.    }
  541.    static function _isNetworkAvailable()
  542.    {
  543.       if(System.security)
  544.       {
  545.          var _loc1_ = System.security;
  546.          if(_loc1_.sandboxType == "localWithFile")
  547.          {
  548.             return false;
  549.          }
  550.       }
  551.       return true;
  552.    }
  553.    static function _getRes(options)
  554.    {
  555.       var _loc3_ = options.clip.getBounds();
  556.       var _loc2_ = 0;
  557.       var _loc1_ = 0;
  558.       if(typeof options.res != "undefined")
  559.       {
  560.          var _loc4_ = options.res.split("x");
  561.          _loc2_ = parseFloat(_loc4_[0]);
  562.          _loc1_ = parseFloat(_loc4_[1]);
  563.       }
  564.       else
  565.       {
  566.          _loc2_ = _loc3_.xMax - _loc3_.xMin;
  567.          _loc1_ = _loc3_.yMax - _loc3_.yMin;
  568.       }
  569.       if(_loc2_ == 0 || _loc1_ == 0)
  570.       {
  571.          _loc2_ = Stage.width;
  572.          _loc1_ = Stage.height;
  573.       }
  574.       return [_loc2_,_loc1_];
  575.    }
  576.    static function _parseOptions(options, defaults)
  577.    {
  578.       var _loc4_ = {};
  579.       for(var _loc8_ in defaults)
  580.       {
  581.          _loc4_[_loc8_] = defaults[_loc8_];
  582.       }
  583.       if(options)
  584.       {
  585.          for(_loc8_ in options)
  586.          {
  587.             _loc4_[_loc8_] = options[_loc8_];
  588.          }
  589.       }
  590.       if(_root.mochiad_options)
  591.       {
  592.          var _loc5_ = _root.mochiad_options.split("&");
  593.          var _loc2_ = 0;
  594.          while(_loc2_ < _loc5_.length)
  595.          {
  596.             var _loc3_ = _loc5_[_loc2_].split("=");
  597.             _loc4_[unescape(_loc3_[0])] = unescape(_loc3_[1]);
  598.             _loc2_ = _loc2_ + 1;
  599.          }
  600.       }
  601.       return _loc4_;
  602.    }
  603. }
  604.